Хак Registration of the References (RR 0.27)
Тестировалось : OPERA,FIREFOX,GOOGLE CHROME,IE8 CMS DLE8.2
Назначение
Данный хак предназначен для оформления ссылок с файлообменников. Хак выполняет замену ссылок на ссылки в виде графических элементов и делает блок ссылок кликабельными. При добавлении новости в панели BB - кодов добавляются дополнительные элементы для оформления ссылок .
1. Просто графический элементс возможностью выбора. Можно использовать вместо надписи Скачать.
2. Вставка ссылки с выбранного файлообменника.
3. Заключает выделенный блок в теги [quote][hide][center].
4. Делает выделеный блок ссылок кликабельным с возможностью подсчета частей (part#1 part#2......).
После использования хака блок ссылок имеет следующий вид:
Установка для админпанели
1. Скопируйте все файлы на ваш сервер.Папки downico, icondd поместите в корень сайта.
2. Открываем [DLE 8.2 DLE 8.0 /engine/inc/include/inserttag.php], [DLE 7.5 /engine/inc/inserttag.php ] и ищем:
var fombj = document.forms[0];
и ниже вставляем:
var piclinc = '';
function ins_emodown()
{
var buttonElement = document.getElementById('b_emodown');
document.getElementById(selField).focus();
if ( is_ie )
{
document.getElementById(selField).focus();
ie_range_cache = document.selection.createRange();
}
var iLeftPos = getOffsetLeft(buttonElement);
var iTopPos = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 3);
document.getElementById('dle_emodown').style.left = (iLeftPos) + "px";
document.getElementById('dle_emodown').style.top = (iTopPos) + "px";
if (document.getElementById('dle_emodown').style.visibility == "hidden")
{
document.getElementById('dle_emodown').style.zIndex = 99;
document.getElementById('dle_emodown').style.visibility = "visible";
document.getElementById('dle_emodown').style.display = "block";
}
else
{
document.getElementById('dle_emodown').style.visibility = "hidden";
document.getElementById('dle_emodown').style.display = "none";
ie_range_cache = null;
}
}
function tag_url_dow(value)
{
if (value == 0) return;
if(navigator.appName=="Microsoft Internet Explorer")
{
document.getElementById('pzi').options[0].selected=true
var adlinc = prompt("Введите полный адрес ссылки http//...", "");
piclinc = value;
if(adlinc==""||adlinc==null)return;
doInsert("[url="+adlinc+"]"+value+"[/url]"+" ", false);
}
else
{
var adlinc = prompt("Введите полный адрес ссылки http//...", "");
piclinc = value;
if(adlinc==""||adlinc==null)return;
doInsert("[url="+adlinc+"]"+value+"[/url]", " ", false);
}
}
function tag_links_click()
{
var pic_linc=piclinc;
var paste_parts = confirm("Подсчитывать парты?");
if (paste_parts) {
paste_parts = " PARTS";
} else {
paste_parts = "";
}
doInsert("<fieldset><legend align='center'>"+pic_linc+"</legend>[LINKS" + paste_parts + "]", "[/LINKS]</fieldset>" , false);
}
function tag_links()
{
var paste_hide_s = "[hide]";
var paste_hide_e = "[/hide]";
var paste_center_s = "[center]";
var paste_center_e = "[/center]";
var paste_quote_s = "[quote]";
var paste_quote_e = "[/quote]";
doInsert(paste_quote_s + paste_hide_s + paste_center_s, paste_center_e + paste_hide_e +paste_quote_e, false);
}
function idd(zag)
{
doInsert("[center]"+"[img]/icondd/"+zag+"[/img]"+"[/center]","", false);
ins_emodown();
}
ищем:
HTML;
и
выше вставляем
<div id="b_emodown" class="editor_button" onclick="ins_emodown();"><img title="Загрузить..." src="engine/skins/bbcodes/images/earth.png" width="23" height="25" border="0"></div>
<div class="editor_button" style="padding-top:4px;width:95px;">
<select id="pzi" class="editor_button" onchange="tag_url_dow(this.options[this.selectedIndex].value)" >
<option value='0' selected >Ссылка на:</option>
<option value='[img]/downico/rapidshare.png[/img]'>Rapidshare</option>
<option value='[img]/downico/letitbit.png[/img]'>Letitbit</option>
<option value='[img]/downico/depositfile.png[/img]'>Depositfile</option>
<option value='[img]/downico/uploadbox.png[/img]'>Uploadbox</option>
<option value='img]/downico/hotfile.png[/img]'>Hotfile</option>
<option value='[img]/downico/ifolder.png[/img]'>Ifolder</option>
<option value='[img]/downico/sms4file.png[/img]'>Sms4file</option>
<option value='[img]/downico/uploading.png[/img]'>Uploading</option>
<option value='[img]/downico/vip-file.png[/img]'>Vip_file</option>
<option value='[img]/downico/turbobit.png[/img]'>Turbobit</option>
<option value='[img]/downico/anyfiles.png[/img]'>Anyfiles</option>
<option value='[img]/downico/upload.png[/img]'>Upload</option>
<option value='[img]/downico/free-share.ru.png[/img]'>Free-share</option>
<option value='[img]/downico/up-file.png[/img]'>Up_file</option>
</select>
</div>
<div class="editor_button" onclick="tag_links_click()"><img title="Кликабельность ссылок" src="engine/skins/bbcodes/images/blue.png" width="23" height="25" border="0"></div>
<div class="editor_button" onclick="tag_links()"><img title="Вставка скрытой ссылки цитатой по центру" src="engine/skins/bbcodes/images/gpg.png" width="23" height="25" border="0"></div>
</div>
<iframe width="154" height="104" id="cp" src="engine/skins/bbcodes/color.html" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>
<div id="dle_emo" style="visibility:hidden; display: none; position: absolute; width:170px; height: 124px; overflow: auto; border: 1px solid #BBB; background:#E9E8F2;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">{$smiles}</div>
<div id="dle_emodown" style="visibility:hidden; display: none; position: absolute; width:220px; height: 300px; overflow: auto; border: 1px solid #BBB; background:#ffffff;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">
<dle>
<span style="cursor:pointer" onclick="idd('5.png')"><img src="/icondd/5.png" border="0"></span>
<span style="cursor:pointer" onclick="idd('4.png')"><img src="/icondd/4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('d4.png')"><img src="/icondd/d4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD4.gif')"><img src="/icondd/DOWNLOAD4.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD8.jpg')"><img src="/icondd/DOWNLOAD8.jpg"border="0"></span>
<span style="cursor:pointer" onclick="idd('77.gif')"><img src="/icondd/77.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('15.png')"><img src="/icondd/15.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('16.gif')"><img src="/icondd/16.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('8f.gif')"><img src="/icondd/8f.gif"border="0"></a></span>
<span style="cursor:pointer" onclick="idd('downloadbutton.png')"><img src="/icondd/downloadbutton.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (1).png')"><img src="/icondd/Download (1).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (14).png')"><img src="/icondd/Download (14).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downloadmy.gif')"><img src="/icondd/downloadmy.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('down24.png')"><img src="/icondd/down24.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downsept.png')"><img src="/icondd/downsept.png"border="0"></span>
</center>
</div>
3. Открываем /engine/classes/parse.class.php и ищем:
var $font_sizes = array (1 => '8', 2 => '10', 3 => '12', 4 => '14', 5 => '18', 6 => '24', 7 => '36' );
ниже вставляем:
function build_links($source = "") {
if (!$source) {
return false;
} elseif (preg_match_all("#\[LINKS(\sPARTS)*\](.+?)\[\/LINKS\]#si", $source, $old_links)) {
$parts = $old_links[1];// print_r($parts);
$old_links = $old_links[0];
for ($l = 0; $l < count($old_links); $l++) {
if (preg_match_all("/(http:\/\/|edk2:\/\/|ftp:\/\/|https:\/\/|news:\/\/)+([^\s\n><\'\"\*\[\]]+)/si", $old_links[$l], $new_links)) {
$parts[$l] = ((strtoupper(trim($parts[$l])) == 'PARTS') ? true : false);
$new_links = $new_links[0];
$new_link = "";
if (count($new_links) > 1) {
for ($c = 0; $c < count($new_links); $c++) {
if ($parts[$l]) {
$new_link .= "[URL=".$new_links[$c]."]Скачать с [b]".ucfirst(strtolower(trim(clean_url($new_links[$c]))))."[/b] part#".($c+1)."[/URL]\r\n";
} else {
$new_link .= "[URL=".$new_links[$c]."]".($new_links[$c])."[/URL]\r\n";
}
}
} else {
$new_link .= "[URL=".$new_links[0]."]Скачать с [b]".ucfirst(strtolower(trim(clean_url($new_links[0]))))."[/b][/URL]\r\n";
}
$source = str_replace($old_links[$l], trim($new_link), $source);
}
}
}
return $source;
}
далее ищем:
$source = preg_replace($find, $replace, $source);
выше вставляем:
$source = $this->build_links($source);
На этом установка хака в админпанели завершена.
Установка для FrontPage
1. Открываем [DLE 8.2 DLE 8.0 DLE 7.5 /engine/modules/bbcode.php] и ищем
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img src="{THEME}/bbcodes/spoiler.gif" width="23" height="25" border="0" alt="" /></div>
<div class="editor_button"><img src="{THEME}/bbcodes/brkspace.gif" width="5" height="25" border="0" alt="" /></div>
ниже вставляем:
<div id="b_emodown" class="editor_button" onclick="ins_emodown();"><img title="Загрузить..." src="engine/skins/bbcodes/images/earth.png" width="23" height="25" border="0"></div>
<div class="editor_button" style="padding-top:4px;width:95px;">
<select id="pzi" class="editor_button" onchange="tag_url_dow(this.options[this.selectedIndex].value)" >
<option value='0' selected >Ссылка на:</option>
<option value='[img]/downico/rapidshare.png[/img]'>Rapidshare</option>
<option value='[img]/downico/letitbit.png[/img]'>Letitbit</option>
<option value='[img]/downico/depositfile.png[/img]'>Depositfile</option>
<option value='[img]/downico/uploadbox.png[/img]'>Uploadbox</option>
<option value='img]/downico/hotfile.png[/img]'>Hotfile</option>
<option value='[img]/downico/ifolder.png[/img]'>Ifolder</option>
<option value='[img]/downico/sms4file.png[/img]'>Sms4file</option>
<option value='[img]/downico/uploading.png[/img]'>Uploading</option>
<option value='[img]/downico/vip-file.png[/img]'>Vip_file</option>
<option value='[img]/downico/turbobit.png[/img]'>Turbobit</option>
<option value='[img]/downico/anyfiles.png[/img]'>Anyfiles</option>
<option value='[img]/downico/upload.png[/img]'>Upload</option>
<option value='[img]/downico/free-share.ru.png[/img]'>Free-share</option>
<option value='[img]/downico/up-file.png[/img]'>Up_file</option>
</select>
</div>
<div class="editor_button" onclick="tag_links_click()"><img title="Кликабельность ссылок" src="engine/skins/bbcodes/images/blue.png" width="23" height="25" border="0"></div>
<div class="editor_button" onclick="tag_links()"><img title="Вставка скрытой ссылки цитатой по центру" src="engine/skins/bbcodes/images/gpg.png" width="23" height="25" border="0"></div>
</div>
<iframe width="154" height="104" id="cp" src="engine/skins/bbcodes/color.html" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>
<div id="dle_emo" style="visibility:hidden; display: none; position: absolute; width:170px; height: 124px; overflow: auto; border: 1px solid #BBB; background:#E9E8F2;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">{$smiles}</div>
<div id="dle_emodown" style="visibility:hidden; display: none; position: absolute; width:220px; height: 300px; overflow: auto; border: 1px solid #BBB; background:#ffffff;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">
<center>
<span style="cursor:pointer" onclick="idd('5.png')"><img src="/icondd/5.png" border="0"></span>
<span style="cursor:pointer" onclick="idd('4.png')"><img src="/icondd/4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('d4.png')"><img src="/icondd/d4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD4.gif')"><img src="/icondd/DOWNLOAD4.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD8.jpg')"><img src="/icondd/DOWNLOAD8.jpg"border="0"></span>
<span style="cursor:pointer" onclick="idd('77.gif')"><img src="/icondd/77.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('15.png')"><img src="/icondd/15.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('16.gif')"><img src="/icondd/16.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('8f.gif')"><img src="/icondd/8f.gif"border="0"></a></span>
<span style="cursor:pointer" onclick="idd('downloadbutton.png')"><img src="/icondd/downloadbutton.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (1).png')"><img src="/icondd/Download (1).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (14).png')"><img src="/icondd/Download (14).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downloadmy.gif')"><img src="/icondd/downloadmy.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('down24.png')"><img src="/icondd/down24.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downsept.png')"><img src="/icondd/downsept.png"border="0"></span>
</center>
</div>
Открываем templates/ваш скин/addnews.tpl и в самое начала добавляем:
<script language="JavaScript">
var piclinc = '';
function ins_emodown()
{
var buttonElement = document.getElementById('b_emodown');
document.getElementById(selField).focus();
if ( is_ie )
{
document.getElementById(selField).focus();
ie_range_cache = document.selection.createRange();
}
var iLeftPos = getOffsetLeft(buttonElement);
var iTopPos = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 3);
document.getElementById('dle_emodown').style.left = (iLeftPos) + "px";
document.getElementById('dle_emodown').style.top = (iTopPos) + "px";
if (document.getElementById('dle_emodown').style.visibility == "hidden")
{
document.getElementById('dle_emodown').style.zIndex = 99;
document.getElementById('dle_emodown').style.visibility = "visible";
document.getElementById('dle_emodown').style.display = "block";
}
else
{
document.getElementById('dle_emodown').style.visibility = "hidden";
document.getElementById('dle_emodown').style.display = "none";
ie_range_cache = null;
}
}
function tag_url_dow(value)
{
if (value == 0) return;
if(navigator.appName=="Microsoft Internet Explorer")
{
document.getElementById('pzi').options[0].selected=true
var adlinc = prompt("Введите полный адрес ссылки http//...", "");
piclinc = value;
if(adlinc==""||adlinc==null)return;
doInsert("[url="+adlinc+"]"+value+"[/url]"+" ", false);
}
else
{
var adlinc = prompt("Введите полный адрес ссылки http//...", "");
piclinc = value;
if(adlinc==""||adlinc==null)return;
doInsert("[url="+adlinc+"]"+value+"[/url]", " ", false);
}
}
function tag_links_click()
{
var pic_linc=piclinc;
var paste_parts = confirm("Подсчитывать парты?");
if (paste_parts) {
paste_parts = " PARTS";
} else {
paste_parts = "";
}
doInsert("<fieldset><legend align='center'>"+pic_linc+"</legend>[LINKS" + paste_parts + "]", "[/LINKS]</fieldset>" , false);
}
function tag_links()
{
var paste_hide_s = "[hide]";
var paste_hide_e = "[/hide]";
var paste_center_s = "[center]";
var paste_center_e = "[/center]";
var paste_quote_s = "[quote]";
var paste_quote_e = "[/quote]";
doInsert(paste_quote_s + paste_hide_s + paste_center_s, paste_center_e + paste_hide_e +paste_quote_e, false);
}
function idd(zag)
{
doInsert("[center]"+"[img]/icondd/"+zag+"[/img]"+"[/center]","", false);
ins_emodown();
}
</SCRIPT>
Как использовать
Выбираем картинку (картинка устанавливается по центру)
Копируем ссылку
Выбираем нужный файлообменник из списка (в данном случае DEPOSITFILES )
Вставляем ссылку
Вот и всё
Результат
Блок ссылок оформляется так:
Вариант1
копируем полученный блок ссылок
вставляем
выбираем файлообменник (в данном случае RAPIDSARE ) и в поле ввода адреса ссылки НИЧЕГО НЕ ВСТАВЛЯЕМ, нажимаем ОК
выделяем блок ссылок и жмем на кнопку 4
в зависимости от ответа
получаем кликабельные ссылки, или кликабельные ссылки с подсчетом количества частей
жмем просмотр и видим
Вариант2
Можно выбрать из списка файлообменник (в данном случае RAPIDSARE ) и в поле ввода адреса ссылки
НИЧЕГО НЕ ВСТАВЛЯЕМ, нажимаем ОК.
После вставить блок ссылок,
выделить их,
нажать на кнопку 4 и в зависимости от ответа на вопрос получить кликабельные ссылки,
или кликабельные ссылки с подсчетом количества частей.
Обрамление тэгами
В конце выделяем ВСЕ ссылки, нажимаем кнопку 3
и весь блок ссылок обрамляется тэгами [quote][hide][center].
Применение данного хака не исключает возможность
использования оформления ссылок предусмотренных CMS DLE.